iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0
DevOps

《30天挑戰精通 PowerShell:從 Windows Server 到 Azure DevOps 自動化之旅》系列 第 27

Day 27 - 將 CI/CD 流程透過 Azure DevOps 去執行吧 - Part 1

  • 分享至 

  • xImage
  •  

今天是第 27 天的挑戰,只剩下 4 天的篇幅可以分享了。前面的挑戰中,我已經扎實地(?)吸收並整理了「30 天挑戰精通 PowerShell」書中的前幾個章節,但若再繼續依賴書中的後續章節,就可能無法深入了解 Azure DevOps 的自動化功能。因此,從昨天開始,我透過微軟官方的 Azure DevOps 服務概覽,簡單介紹了它的核心功能。今天,我想以一個案例的形式分享我在使用 Azure DevOps Pipeline 方面的筆記:


案例簡述

本案例將透過 Azure DevOps,把一個 Vue 專案部署在 Windows Server 上的 IIS 站台(Azure 虛擬機)中。這將涉及到 Azure DevOps 的多個核心組件,包括 Azure Pipelines 和 Azure Release,用於自動化應用程序的構建、測試和部署。

會使用到的 Azure DevOps 核心組件

https://ithelp.ithome.com.tw/upload/images/20241010/20168708d6qg9Dhfl7.png


流程說明

這次的自動化流程分為兩個主要部分,持續整合(CI)和持續部署(CD),這些步驟可以確保程式碼的變更經過自動化的構建、測試,最終部署到指定環境。

流程步驟

  1. 將本地專案推送到 Azure Repos
  2. 為 Azure DevOps 註冊 Azure Agent
  3. 建立 Azure Pipeline (CI),並設定以下任務:
    • 設定初始化配置,例如源代碼、代理程序、變數等。
    • 使用 PowerShell 抓取標籤版本(tag version)。
    • 將 Vue 專案構建為靜態資源。
    • 將這些靜態資源上傳至 Artifact。
  4. 建立 Azure Release (CD),並設定以下任務:
    • 下載 Artifact。
    • 使用 PowerShell 在 Windows Server 上部署到 IIS 站台。
    • 為 IIS 站台進行預熱。
    • 使用 PowerShell 發送 Telegram 通知。

手順一:將本地專案推送到 Azure Repos

在 Azure DevOps 建立新專案

首先,需要將本地專案推送到 Azure DevOps。當我們在 Azure DevOps 中創建一個新專案時,它會自動為你建立一個新的 Azure Repo。下面是建立新專案的截圖:

輸入「Project name」及描述後,點選「Create」。
https://ithelp.ithome.com.tw/upload/images/20241010/201687080UxjPU8juU.png

設定 SSH Public Key

但別急著將本地專案推送上去,因為還需要先設定權限。如果權限還沒設置好就推送,會將看到如下的錯誤提示喔:

kanglin@wuganglindeMacBook-Air exmaple_page % git push -u origin --all
remote: Public key authentication failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

要將本地電腦的 SSH Public Key 添加到 Azure DevOps 中,這樣才能獲得推送代碼的權限:

點選 User Settings(位於畫面右上角的人物加齒輪圖示),選擇「SSH Public Keys」。
https://ithelp.ithome.com.tw/upload/images/20241010/20168708upm0A7SGFs.png
點選右上角的「New Key」。
https://ithelp.ithome.com.tw/upload/images/20241010/2016870835Y8oMM3A8.png
將你的 SSH Public Key 貼上,並保存。
https://ithelp.ithome.com.tw/upload/images/20241010/201687080WyHGdEp32.png

當然你也可以透過產生 PAT 的方式達成該目的。

更新 Git 設定並推送專案

完成以上步驟後,我們就可以用以下命令來將 Git 的 Remote Origin URL 替換成 Azure DevOps Repo 的 URL,然後將本地專案推送上去:

git remote set-url origin git@ssh.dev.azure.com:v3/kanglinwu/ithome30day/ithome30day
git push -u origin --all

https://ithelp.ithome.com.tw/upload/images/20241010/20168708O8x74Y49ul.png
https://ithelp.ithome.com.tw/upload/images/20241010/20168708Rfw3wbxm3N.png
如下圖所示,推送完成後,我們可以看到推送到 Azure DevOps Repos 的專案內容:
https://ithelp.ithome.com.tw/upload/images/20241010/20168708AXVWEsGbq4.png

明日主題

Day 28 - 將 CI/CD 流程透過 Azure DevOps 去執行吧 - Part 2


上一篇
Day 26 - Azure DevOps 概覽
下一篇
Day 28 - 將 CI/CD 流程透過 Azure DevOps 去執行吧 - Part 2
系列文
《30天挑戰精通 PowerShell:從 Windows Server 到 Azure DevOps 自動化之旅》30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言